package com.cfpamf.ms.insur.pay.pojo.po;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by zhengjing  on 2019-09-25 10:04:12
 */
@ApiModel("支付订单")
@Table(name = "pay_order")
@Data
public class PayOrderPO extends BasePO {

    @ApiModelProperty(value = "当前流水号")
    private String payTrxNo;

    @ApiModelProperty(value = "版本号-乐观锁")
    private Integer version;

    @ApiModelProperty(value = "内部订单id 唯一")
    private String orderNo;

    @ApiModelProperty(value = "商品id")
    private String productId;

    @ApiModelProperty(value = "商品名称")
    private String productName;

    @ApiModelProperty(value = "商品类型")
    private String productType;

    @ApiModelProperty(value = "下单用户")
    private String userNo;

    @ApiModelProperty(value = "支付类型，WX ALIPAY")
    private String payType;

    @ApiModelProperty(value = "APP-app支付 TAS-公众号支付 QRCODE-二维码支付 H5-h5支付")
    private String payMethod;

    @ApiModelProperty(value = "第三方流水号 微信支付内部订单号(transaction_id)，  支付宝内部交易号(trade_no)")
    private String bankPayTrxNo;

    @ApiModelProperty(value = "订单金额（分）")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "订单开始时间")
    private Date orderTime;

    @ApiModelProperty(value = "支付成时间")
    private Date payTime;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundAmount;

    @ApiModelProperty(value = "状态 EnumPayStatus 0-支付中 1-支付成功 2-退款成功")
    private Integer payStatus;

    @ApiModelProperty(value = "商户系统订单号")
    private String sourceOrderId;

    @ApiModelProperty(value = "商户系统编号：INSUR：保险系统")
    private String sourceSys;

    @ApiModelProperty(value = "支付成功后端异步回调接口")
    private String notifyUrl;

    @ApiModelProperty(value = "支付成功前端同步回调页面")
    private String returnUrl;

    @ApiModelProperty(value = "异步通知业务系统状态：00支付待通知，01支付已通知，02支付通知失败，10退款待通知，11退款已通知，12退款通知失败（默认00）")
    private String syncNoticeStatus;
}

